package org.example.Lock;

import java.util.*;

public class SynchronizedListExample {
    public static void main(String[] args) {
        // 创建一个非线程安全的 ArrayList
        List<String> list = new ArrayList<>();
        // 使用 Collections.synchronizedList 包装为线程安全的 List
        List<String> synchronizedList = Collections.synchronizedList(list);
        // 现在 synchronizedList 是线程安全的，可以安全地在多线程环境中使用
        synchronizedList.add("Apple");
        synchronizedList.add("Banana");
        synchronizedList.add("Cherry");
        // 访问 synchronizedList 时，需要确保线程安全
        synchronized (synchronizedList) {
            for (String fruit : synchronizedList) {
                System.out.println(fruit);
            }
        }
    }
}